package com.igeek.ch03.paramterType;

import com.igeek.pojo.User;
import com.igeek.pojo.UserCustom;
import com.igeek.pojo.UserQueryVO;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * @package com.igeek.ch03.paramterType
 * @Description 输入映射
 * @Author LittlePunk [296526219@qq.ccom]
 * @Version 2022.1
 * @Date 2023/11/21 15:17
 */
public interface UserMapper {

    //根据id查询用户信息
    public User selectById(int id);

    //根据姓名和性别查询用户信息 UserCustom
    public List<User> selectAllByQuery(UserCustom userCustom);

    //根据姓名和性别查询用户信息  UserQueryVO
    public List<UserCustom> selectAllByQueryVO(UserQueryVO vo);

    //根据姓名和性别查询用户信息  HashMap
    public List<UserCustom> selectAllByHashMap(HashMap<String,Object> map);

    //class文件中没有写入形参名称：public List<UserCustom> selectAllByParam(String arg0,String arg1);
    //class文件中没有写入形参名称：public List<UserCustom> selectAllByParam(String param1,String param2);
    //@Param("key") 括号里的key就是#{key}的内容，作用：可以将占位符#{key}和参数进行映射 实现原理：HashMap
    public List<UserCustom> selectAllByParam(@Param("username") String username,@Param("sex") String sex);
}
